// kX Driver / kX Driver Interface / kX Driver Effects Library
// Copyright (c) Eugene Gavrilov, 2001-2005.
// All rights reserved

/*
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; either version 2 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program; if not, write to the Free Software
 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 */

// Stereo Chorus B

const char *stchorus_copyright = "(c) Max Mikhailov and Eugene Gavrilov,  2001-2005";
const char *stchorus_engine = "kX";
const char *stchorus_comment = "SendEffect, v0.8";
const char *stchorus_created = "2002";
const char *stchorus_guid = "80100003-0ADF-11D6-BFBC-D4F706E10C52";

const char *stchorus_name = "Stereo Chorus";
int stchorus_itramsize = 2888, stchorus_xtramsize = 0;        

#define _R_LEVEL	0x8004
#define _R_MODFREQ	0x8005
#define _R_MODPHASE	0x8006
#define _R_MODDEPTH	0x8007
#define _R_DELAY	0x8008
#define _R_FEEDBACK	0x8009     
#define _R_INWIDTH	0x800a
#define _R_OUTWIDTH	0x800b

#define _IN_PHASE_INSTR	2

dsp_register_info stchorus_info[] = {
	{"inl", 0x4000, 0x7, 0xffff, 0x0}, 
	{"inr", 0x4001, 0x7, 0xffff, 0x0}, 
	{"outfl", 0x8000, 0x8, 0xffff, 0x0}, 
	{"outfr", 0x8001, 0x8, 0xffff, 0x0}, 
	{"outrl", 0x8002, 0x8, 0xffff, 0x0}, 
	{"outrr", 0x8003, 0x8, 0xffff, 0x0}, 
	{"fxlev", 0x8004, 0x4, 0xffff, 0x0}, 
	{"modfreq", 0x8005, 0x4, 0xffff, 0x20000}, 
	{"modphase", 0x8006, 0x4, 0xffff, 0x0}, 
	{"moddepth", 0x8007, 0x4, 0xffff, 0x0}, 
	{"dlytime", 0x8008, 0x4, 0xffff, 0x3c2000}, 
	{"feedback", 0x8009, 0x4, 0xffff, 0x0}, 
	{"inwidth", 0x800a, 0x4, 0xffff, 0x0}, 
	{"outwidth", 0x800b, 0x4, 0xffff, 0x0}, 
	{"osc", 0x800c, 0x1, 0xffff, 0x0}, 
	{"lfo1", 0x800d, 0x1, 0xffff, 0x0}, 
	{"lfo2", 0x800e, 0x1, 0xffff, 0x0}, 
	{"mt1", 0x800f, 0x1, 0xffff, 0x0}, 
	{"mt2", 0x8010, 0x1, 0xffff, 0x0}, 
	{"lb", 0x8011, 0x1, 0xffff, 0x0}, 
	{"rb", 0x8012, 0x1, 0xffff, 0x0}, 
	{"_AC800", 0x8013, 0x1, 0xffff, 0x800}, 
	{"a", 0x8014, 0x3, 0xffff, 0x0}, 
	{"b", 0x8015, 0x3, 0xffff, 0x0}, 
	{"c", 0x8016, 0x3, 0xffff, 0x0}, 
	{"d", 0x8017, 0x3, 0xffff, 0x0}, 
	{"dl", 0x8018, 0x49, 0xffff, 0x0}, 
	{"&dl", 0x8019, 0xb, 0xffff, 0x0}, 
	{"dlt1", 0x801a, 0x29, 0xffff, 0x3c0}, 
	{"&dlt1", 0x801b, 0xb, 0xffff, 0x3c0}, 
	{"dlt2", 0x801c, 0x29, 0xffff, 0x3c0}, 
	{"&dlt2", 0x801d, 0xb, 0xffff, 0x3c0}, 
	{"dr", 0x801e, 0x49, 0xffff, 0x5a4}, 
	{"&dr", 0x801f, 0xb, 0xffff, 0x5a4}, 
	{"drt1", 0x8020, 0x29, 0xffff, 0x964}, 
	{"&drt1", 0x8021, 0xb, 0xffff, 0x964}, 
	{"drt2", 0x8022, 0x29, 0xffff, 0x964}, 
	{"&drt2", 0x8023, 0xb, 0xffff, 0x964}, 
};

dsp_code stchorus_code[] = {
	{0x0, 0x8014, 0x2040, 0x4000, 0x8004}, 
	{0x0, 0x8015, 0x2040, 0x4001, 0x8004}, 
	{0x1, 0x8016, 0x2040, 0x8014, 0x204f}, 
	{0x1, 0x8017, 0x2040, 0x8015, 0x204f}, 
	{0xe, 0x8014, 0x8014, 0x800a, 0x8017}, 
	{0xe, 0x8015, 0x8015, 0x800a, 0x8016}, 
	{0x0, 0x8018, 0x8014, 0x8011, 0x8009}, 
	{0x0, 0x801e, 0x8015, 0x8012, 0x8009}, 
	{0x2, 0x800c, 0x800c, 0x8005, 0x204f}, 
	{0x2, 0x800e, 0x800c, 0x8006, 0x204f}, 
	{0x9, 0x800d, 0x800c, 0x800c, 0x2040}, 
	{0x9, 0x800e, 0x800e, 0x800e, 0x2040}, 
	{0xe, 0x800d, 0x204d, 0x8007, 0x800d}, 
	{0xe, 0x800e, 0x204d, 0x8007, 0x800e}, 
	{0x5, 0x800f, 0x2040, 0x800f, 0x2055}, 
	{0x5, 0x8010, 0x2040, 0x8010, 0x2055}, 
	{0xe, 0x8011, 0x801a, 0x800f, 0x801c}, 
	{0xe, 0x8012, 0x8020, 0x8010, 0x8022}, 
	{0xe, 0x8000, 0x8011, 0x800b, 0x8012}, 
	{0xe, 0x8001, 0x8012, 0x800b, 0x8011}, 
	{0x1, 0x8002, 0x8011, 0x800b, 0x8000}, 
	{0x1, 0x8003, 0x8012, 0x800b, 0x8001}, 
	{0x0, 0x800f, 0x8019, 0x8008, 0x800d}, 
	{0x0, 0x8010, 0x801f, 0x8008, 0x800e}, 
	{0x0, 0x801b, 0x800f, 0x2040, 0x2040}, 
	{0x0, 0x801d, 0x800f, 0x8013, 0x204f}, 
	{0x0, 0x8021, 0x8010, 0x2040, 0x2040}, 
	{0x0, 0x8023, 0x8010, 0x8013, 0x204f}, 
};

